UPnP VPN gateway configuration service

ABSTRACT

A system and method for creating a virtual private network through a VPN gateway configuration service. The VPN gateway configuration service inherits UPnP zero-configuration characteristics and also provides an interface for configuring the VPN gateway that enables the configuration of any VPN gateway device, regardless of manufacturer. Additionally, the device control protocol defined by the VPN gateway configuration service can provide client provisioning, as well as enabling the configuration of gateway-to-gateway virtual private networks.

BACKGROUND OF THE INVENTION

The present invention relates generally to virtual private networks. More particularly, the present invention relates to the creation of virtual private networks that permit interaction between a local area network and an out-of-network electronic device.

BACKGROUND OF THE INVENTION

Universal Plug and Play (UPnP) technology defines an architecture for pervasive peer-to-peer network connectivity of intelligent appliances, wireless devices, and personal computers of all types. UPnP technology is designed to bring easy-to-use, flexible, standards-based connectivity to ad-hoc or unmanaged networks whether in the home, in a small business, public locations, or systems connected to the Internet. UPnP technology provides a distributed, open networking architecture that leverages TCP/IP and web technologies to enable seamless proximity networking, in addition to providing control and data transfer among networked devices.

UPnP Device Architecture (UDA) is designed to support zero-configuration, “invisible” networking, as well as automatic discovery for a breadth of device categories from a wide range of vendors. Under this architecture, a device can dynamically join a network, obtain an IP address, convey the device's capabilities, and learn about the presence and capabilities of other devices within the network.

A UPnP Internet Gateway Device (IGD) is a device that connects a home network to a wide area network such as the Internet. An IGD possesses at least a wide area network (WAN) interface (in the form of a DSL, Cable, Ethernet connection, or another type of connection) and a local area network (LAN) interface (in the form of an Ethernet or wireless LAN (WLAN) connection, or another type of connection). The UPnP IGD contains several WAN and LAN related services.

Virtual Private Networks (VPNs) using IP Security (IPSec) are one of the most widely used technologies to securely connect to a network using the infrastructure provided by a public network such as the Internet.

A number of new technologies are currently being implemented for enabling remote access to home networks. One of the proposed technologies that will enable remote access to home networks involves the use of a VPN between a remote device, such as a mobile telephone, and the Internet gateway located within a home network. VPN standards that are currently being developed involves the use of IPsec, which is a very complex technical standard that requires a deep understanding of cryptographic algorithms and the way IP networks function. Configuring devices that deploy IPSec technology is a complicated task due to the large number of parameters involved. The correct configuration ensures that a particular VPN client can connect to the VPN gateway, thus enabling the DLNA Remote Access scenarios. Most consumers, however, do not have the requisite skills to correctly configure such VPN devices unless they have a substantial technical expertise.

In the corporate environment, a number proprietary solutions have been developed to address these issues. These solutions are often provided by the VPN gateway manufacturer. However, these solutions are not interoperable, depend on specific VPN gateway hardware, and their costs are usually well beyond the reach of the ordinary consumers.

SUMMARY OF THE INVENTION

The present invention involves the use of an open interface that enables the configuration of a VPN gateway that is collocated with an IGD. The present invention provides for a mechanism for provisioning VPN parameters to VPN clients via UPnP messages, as well as a mechanism for configuring another IGD with a VPN gateway in order to establish a gateway-gateway VPN.

The present invention provides for a number of advantages over conventional systems. Under the system and method of the present invention, users are provided with the ability to configure VPN parameters, regardless of the manufacturer or manufacturers of the various VPN devices. The complexity involved with the present invention is relatively low, and the present invention makes VPN technologies accessible to normal consumers that, until the present invention, were available only to enterprise and large, institutional users.

These and other objects, advantages and features of the invention, together with the organization and manner of operation thereof, will become apparent from the following detailed description when taken in conjunction with the accompanying drawings, wherein like elements have like numerals throughout the several drawings described below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a mobile telephone that can be used in the implementation of the present invention;

FIG. 2 is a schematic representation of the telephone circuitry of the mobile telephone of FIG. 1;

FIG. 3 is a representation of an Internet gateway device and its relationship to other devices in a local area network and a wide area network;

FIG. 4 is a representation of a scenario where a mobile telephone with a built-in IGD control point supporting the present invention is used to configure the Internet gateway device with VPN gateway support;

FIG. 5 is a representation of a situation where a VPN tunnel is created between an Internet gateway device and an electronic device that it outside of its home network; and

FIG. 6 is a representation of a situation where a VPN gateway-gateway tunnel is created between home networks.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIGS. 1 and 2 show one representative mobile telephone 12 within which the present invention may be implemented. It should be understood, however, that the present invention is not intended to be limited to one particular type of mobile telephone 12 or other electronic device. For example, the present invention can be incorporated into a combination personal digital assistant (PDA) and mobile telephone, a PDA, an integrated messaging device (IMD), a desktop computer, and a notebook computer. The mobile telephone 12 of FIGS. 1 and 2 includes a housing 30, a display 32 in the form of a liquid crystal display, a keypad 34, a microphone 36, an ear-piece 38, a battery 40, an infrared port 42, an antenna 44, a smart card 46 in the form of a universal integrated circuit card (UICC) according to one embodiment of the invention, a system clock 43, a card reader 48, radio interface circuitry 52, codec circuitry 54, a controller 56 and a memory 58. Individual circuits and elements are all of a type well known in the art, for example in the Nokia range of mobile telephones.

The communication devices may communicate using various transmission technologies including, but not limited to, Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Transmission Control Protocol/Internet Protocol (TCP/IP), Short Messaging Service (SMS), Multimedia Messaging Service (MMS), e-mail, Instant Messaging Service (IMS), Bluetooth, IEEE 802.11, etc.

The present invention provides for an open interface that enables the configuration of a VPN gateway that is collocated with an IGD. VPN parameters can be provisioned to VPN clients via UPnP messages. Additionally, another IGD can be configured with a VPN gateway in order to establish a gateway-gateway VPN.

The service of the present invention enables the control, monitoring and configuration of a VPN gateway for unmanaged network space, namely residential and small office LANs. The present invention focuses on the core elements required for setting up a VPN gateway, configuring/provisioning the VPN Clients, and diagnosing and monitoring usage problems. The present invention simplifies the setup experience and provides the framework for diagnosing and monitoring problems on the VPN gateway.

The present invention enables a number of different functions. For example, the present invention allows for the remote setup and configuration of security parameters of an IPsec tunnel accepted by the VPN gateway, through the use of an encryption algorithm and hash functions. The present invention also permits for the remote setup and configuration of an authentication mode accepted by the VPN gateway through the use of shared keys and certificates. The remote configuration and provisioning of VPN Client settings, as well as remote diagnostics and monitoring of a VPN tunnel, are also enabled.

FIG. 3 is a representation of an Internet gateway device 100 and its relationship to other devices in a local area network and a wide area network. The Internet gateway device 100 comprises a plurality of WAN devices 110 and a plurality of LAN devices 120. The plurality of LAN devices 120 are capable of connecting to a plurality of client devices 130, which are located within one or more local area networks 140. The plurality of WAN devices 110 are capable of connecting to various Internet Service Providers (ISPs) 150 that are located within the Internet 160 or another wide area network. This overall arrangement permits the Internet gateway device 100 to serve as a conduit between the client devices 130 and individual ISPs 150.

FIG. 4 describes a scenario where a mobile telephone 12 with a built-in IGD control point supporting a VPN configuration service of the present invention is used to configure the IGD device 100 having VPN gateway support. The mobile telephone 12 is connected within a home network 170 via a LAN interface of the IGD device 100. An application in the mobile telephone 12 can edit the VPN configuration in order to adjust the required security protocols, the authentication and privacy parameters of the security protocols, and the session time-outs. After the configuration step is finished, the mobile telephone 12, now a VPN client, can start using the new configuration.

The following is one representative system for provisioning VPN parameters to a VPN Client according to one embodiment of the present invention. In this situation, the mobile telephone 12 possesses a VPN client application. The built-in IGD control point is used to connect the IGD with the VPN gateway via the LAN interface. The built-in IGD control point reads the VPN gateway parameters and configures itself when it acts as the mobile telephone. Parameters needed to configure the gateway include, but are not limited to, the IP Address(es) of the VPN gateway, security protocols, and authentication and privacy parameters specific to the security protocols. Later, and as depicted in FIG. 5, when the mobile telephone 12 is in a remote location and away from the home network 170, the VPN client application can create a VPN tunnel 190 with the home VPN gateway, as the VPN client application possesses all of the necessary parameters.

The present invention can also be used to configure another VPN gateway in order to create a gateway-gateway VPN. For example, a situation may arise where a user A is visiting a user B and desires to access a number of media files that are stored in a personal video recorder 200 (PVR) located in user A's home network 210 and view the files on a television 220 in user B's home network 230. To accomplish this task, and as shown in FIG. 6, an IGD-IGD VPN tunnel 235 is created between a Home Network A IGD 240 and a Home Network B IGD 250 so that the two home networks 210 and 230 are essentially merged into a single virtual home network. In this arrangement, it is assumed that the IGD control point in user A's mobile telephone 12 has all the information needed about its home VPN gateway (which is the Home Network A 240). The next step involves the connection of the mobile telephone 12 to the Home Network B IGD 250 with VPN gateway support via a LAN interface. The mobile telephone 12 transmits the necessary information to the VPN gateway for establishing the VPN tunnel. This information includes, but is not limited to, the IP Address(es) of the VPN gateway, security protocols, and authentication and privacy parameters specific to the security protocols.

The following is a process for implementing one particular embodiment of the present invention. Before proceeding, a number of assumptions are made concerning the devices and networks involved. First, it is assumed that the user's home network includes an always-on connection at the user's home. This connection can comprise a broadband connection or a connection of some other sort. It is also assumed that the devices involved are UPnP capable, and that the VPN products involved (i.e. the VPN gateway and the VPN Client) are tested according to standards promulgated by the Virtual Private Network Consortium (VPNC). These standards can be found on the Internet at http://www.vpnc.org/testing.html. Furthermore, it is assumed that the IGD with a VPN gateway includes a UPnP IGD VPN configuration service.

In this situation, a user purchases a new Internet gateway device. The feature list for the Internet gateway device indicates support for remote access. The user plugs the Internet gateway device into the home network, and installs the setup software. A setup wizard is used to configure the Internet gateway device. The setup software is used to configure the security protocols, as well as the authentication and privacy parameters for the security protocols. The setup software also binds the VPN gateway to specific WAN interfaces. The setup software includes a built-in UPnP IGD control point. At this point, the IGD with a VPN gateway is ready for use. Regarding advanced functionality, the VPN provides IP addresses from the home network pool to remote devices.

For remote access on a particular device, such as a mobile telephone, the user installs a new software package in the mobile telephone that enables remote access. Later, the user, when leaving his or her office, decides that he or she would like to have an activity initiated on a device within the home network. The user can then have the mobile telephone connect to the home network via remote access to initiate the activity.

A situation where a gateway-gateway VPN may be created can be discussed as follows. A first user and a second user can each have their own home network, referred to as a first home network and a second home network, respectively. In the event that the first user is in the vicinity of the second home network and wants the second user to have access to the first home network, the first user can use his or her own mobile telephone to configure the second user's Internet gateway for remote access to the first network. The first user can therefore grant temporary access to the Internet gateway of the second home network and initiates the connection, creating a gateway-gateway VPN.

The present invention is described in the general context of method steps, which may be implemented in one embodiment by a program product including computer-executable instructions, such as program code, executed by computers in networked environments.

Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.

Software and web implementations of the present invention could be accomplished with standard programming techniques with rule-based logic and other logic to accomplish the various database searching steps, correlation steps, comparison steps and decision steps. It should also be noted that the words “component” and “module” as used herein, and in the claims, is intended to encompass implementations using one or more lines of software code, and/or hardware implementations, and/or equipment for receiving manual inputs.

The foregoing description of embodiments of the present invention have been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the present invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the present invention. The embodiments were chosen and described in order to explain the principles of the present invention and its practical application to enable one skilled in the art to utilize the present invention in various embodiments and with various modifications as are suited to the particular use contemplated. 

1. A method of creating a virtual private network, comprising the steps of: providing a first local area network including a first Internet gateway device; providing an electronic device including a virtual private network configuration service; and configuring the electronic device using virtual private network configuration service in order to permit communication between the electronic device and other devices within the first local area network through the first Internet gateway device.
 2. The method of claim 1, further comprising the step of creating a first virtual private network tunnel between the electronic device and the first Internet gateway device when the electronic device is outside of the first local area network, the first virtual private network tunnel allowing the electronic device to communicate directly with other devices within the first local area network while the electronic device is outside of the first local area network.
 3. The method of claim 1, wherein the step of configuring the electronic device includes the adjustment of required security protocols within the electronic device.
 4. The method of claim 1, wherein the step of configuring the electronic device includes the adjustment of authentication and privacy parameters for security protocols within the electronic device.
 5. The method of claim 1, wherein the step of configuring the electronic device includes the adjustment of session timeouts for the electronic device.
 6. The method of claim 1, wherein the step of configuring the electronic device includes the obtaining of at least one IP address of the first Internet gateway device.
 7. The method of claim 1, wherein the electronic device comprises a portable telephone.
 8. The method of claim 1, further comprising the steps of: connecting the electronic device to a second Internet gateway device for a second local area network; and transmitting information regarding the first Internet gateway device from the electronic device to the second Internet gateway device, the information allowing a second virtual private network tunnel to be created between the first Internet gateway device and the second Internet gateway device, wherein the second virtual private network tunnel enables communication among the electronic device, devices within the first local area network, and devices within the second local area network.
 9. A computer program product for creating a virtual private network, comprising: computer code for providing a first local area network including a first Internet gateway device; computer code for providing an electronic device including a virtual private network configuration service; and computer code for configuring the electronic device using virtual private network configuration service in order to permit communication between the electronic device and devices within the first local area network through the first Internet gateway device while the electronic device is outside of the first local area network.
 10. The computer program product of claim 9, further comprising computer code for creating a first virtual private network tunnel between the electronic device and the first Internet gateway device when the electronic device is outside of the first local area network, the first virtual private network tunnel allowing the electronic device to communicate directly with other devices within the first local area network.
 11. The computer program product of claim 9, wherein the computer code for configuring the electronic device includes computer code for obtaining of at least one IP address of the first Internet gateway device.
 12. The computer program product of claim 9, further comprising: computer code for connecting the electronic device to a second Internet gateway device for a second local area network; and computer code for transmitting information regarding the first Internet gateway device from the electronic device to the second Internet gateway device, the information allowing a second virtual private network tunnel to be created between the first Internet gateway device and the second Internet gateway device, wherein the second virtual private network tunnel enables communication among the electronic device, devices within the first local area network, and devices within the second local area network.
 13. An electronic device, comprising: a processor; and a memory unit operatively connected to the processor, the memory unit including computer code for configuring the electronic device using a virtual private network configuration service so as to be capable of communication with a first Internet gateway device.
 14. The electronic device of claim 13, wherein the memory unit further comprises computer code for creating a first virtual private network tunnel between the electronic device and the first Internet gateway device when the electronic device is outside of a first local area network associated with the first Internet gateway device, the first virtual private network tunnel allowing the electronic device to communicate directly with other devices within the first local area network while the electronic device is outside of the first local area network.
 15. The electronic device of claim 13, wherein the memory unit further comprises: computer code for connecting the electronic device to a second Internet gateway device for a second local area network; and computer code for transmitting information regarding the first Internet gateway device from the electronic device to the second Internet gateway device, the information allowing a second virtual private network tunnel to be created between the first Internet gateway device and the second Internet gateway device, wherein the second virtual private network tunnel enables communication among the electronic device, devices within the first local area network, and devices within the second local area network.
 16. A system for creating a virtual private network, comprising: a first local area network including a first Internet gateway device; and an electronic device, comprising: a processor, and a memory unit operatively connected to the processor, the memory unit including computer code for configuring the electronic device using a virtual private network configuration service so as to be capable of communication with the first Internet gateway device.
 17. The system of claim 16, wherein the memory unit further includes computer code for creating a first virtual private network tunnel between the electronic device and the first Internet gateway device when the electronic device is outside of the first local area network, the first virtual private network tunnel allowing the electronic device to communicate directly with other devices within the first local area network while the electronic device is outside of the first local area network.
 18. The system of claim 16, wherein the memory unit further includes; computer code for connecting the electronic device to a second Internet gateway device for a second local area network; and computer code for transmitting information regarding the first Internet gateway device from the electronic device to the second Internet gateway device, the information allowing a second virtual private network tunnel to be created between the first Internet gateway device and the second Internet gateway device, wherein the second virtual private network tunnel enables communication among the electronic device, devices within the first local area network, and devices within the second local area network.
 19. A system for creating a virtual private network, comprising: a first Internet gateway device positioned within a first network; and a second Internet gateway device positioned within a second network, wherein each of the first Internet gateway device and the second Internet gateway device includes computer code for configuring the respective Internet Gateway device using a virtual private network configuration service so as to be capable of creating a virtual private network tunnel between the first Internet gateway device and the second Internet gateway device, the virtual private network tunnel enabling communication between devices within the first network and devices within the second network.
 20. A system for creating virtual private network, comprising: a mobile electronic device; and an Internet gateway device control point built into the mobile electronic device, the Internet gateway device control point including virtual private network configuration service, wherein the virtual private network configuration service enables the creation of a virtual private network tunnel with a remote Internet gateway device, the virtual private network tunnel enabling communication between the mobile electronic device and devices within the same network as the remote Internet gateway device.
 21. An Internet gateway device, comprising: a virtual private network gateway; and a virtual private network configuration service, wherein the virtual private network configuration service enables the creation of a virtual private network tunnel between the virtual private network gateway and a remote network, and wherein the virtual private network tunnel enables communication between the Internet gateway device and devices within the remote network. 